Testing And Refactoring Legacy Code